#include "Shm.hpp"
#include "namedpipe.hpp"

int main()
{
    //  1. 先创建共享内存
    Shm shm(gpathname, gproj_id, gCreator);
    // client在向共享内存写入数据时，一开始都先使用zero()将其中的数据清空
    char* shmaddr = (char*)shm.addr();

    shm.debugShm();

    //  2. 创建管道，这里创建管道纯粹是为了让读端能够等待写端写完数据之后再读

    // NamedPipe fifo(common_path, Creator);
    // fifo.openForRead();
    // while (true)
    // {
    //     //让当前进程
    //     std::string tmp;
    //     fifo.readNamedPipe(&tmp);

    //     std::cout << "shm memory content: " << shmaddr << std::endl;
    //     sleep(1);
    // }
    
    // sleep(5);

    // char* addr = (char *)shm.attachShm();
    // // 之后就可以通过addr来使用addr后面的共享内存了
    // sleep(5);

    // shm.detachShm(addr);

    return 0;
}
